This disclosure relates to the field of computer system manufacturing, packaging, and distribution processes. More specifically, this disclosure relates to a process for ensuring that a compact disk (xe2x80x9cCDxe2x80x9d) containing boot software will work only with those computer systems for which the CD is manufactured and distributed.
Computer systems in general and personal computer systems in particular have attained widespread use for providing computer power to many segments of today""s modern society. A personal computer system can usually be defined as a desktop, floor standing, or portable microcomputer that includes a system unit having a system processor and associated volatile and non-volatile memory, a display monitor, a keyboard, one or more diskette devices, a fixed drive storage device, and an optional printer. One of the distinguishing characteristics of these systems is the use of a system board to connect these components together electronically. These personal computer systems are designed primarily to give independent computing power to a single user (or to a relatively small group of users in the case of personal computers that serve as computer server systems) and are inexpensively priced for purchase by individuals or small businesses. A personal computer system may also include one or more of a plurality of input and/or output (xe2x80x9cI/Oxe2x80x9d) devices (i.e., peripheral devices) that are coupled to the system processor and that perform specialized functions. Examples of peripheral devices include modems, sound and video devices, or specialized communication devices. Mass storage devices such as hard disks, compact disk drives, and magneto-optical drives are also considered to be peripheral devices.
CD media have become the media of choice for software distribution among software developers and hardware manufacturers. Software piracy and data security have been and continue to be problems arising with many types of media, including floppy disks. In contrast, CD media have, in the past, been somewhat immune from software piracy due to the read-only nature of the compact disk read only memory (xe2x80x9cCD-ROMxe2x80x9d) medium favored for the distribution of software and difficulties arising from the expense of writing to CDs.
A challenge that remains, especially now that it has become technically feasible to write to CDs inexpensively, arises from the practice of shipping CD-ROMs containing particular software such as boot software with each computer system unit in a shipment of multiple units to a single customer. The customer may actually need only a small number (or even only one) of the many CD-ROMs shipped to them. The remaining unneeded CD-ROMs are subject to misuse with computer system units other than those with which they were shipped.
What is needed is a method and apparatus that protects against the use of software CD-ROMs with computer systems for which such use is not intended by the software manufacturer.
The present disclosure relates to a method of checking a computer system for predetermined identification criteria and allowing the CD boot software to run on the computer system only if predetermined computer identification criteria are met. References throughout the CDs include all forms of CD, including CD-ROMs and writable CDs.
In a first embodiment, the computer system boot software on a CD (xe2x80x9cCD boot diskxe2x80x9d) is treated as data rather than as executable software and is copied from the CD boot disk into the computer system""s memory area along with identification verification software included on the CD. The verification software and the boot software from the CD are copied to the part of the computer system""s memory area specified for the boot software to boot the computer system (the xe2x80x9cexecution partxe2x80x9d). The verification software and the boot software from the CD are then copied to another part of the computer system""s memory area (the xe2x80x9cverification partxe2x80x9d). The copy of verification software in the verification part is run to verify identification data previously stored in the computer system against the identification criteria in the verification software. If the computer system""s identification data satisfies the verification software""s criteria, the boot software is copied back to the execution part. The computer system then boots by executing this copy of the CD boot software. If the computer system""s identification data does not satisfy the verification software""s criteria, the boot software is not copied back to the execution part and the computer system displays an error message to the user.
In a second embodiment, the hardware unit manufacturer""s verification software and the boot software are copied from the CD directly to the verification part for verification of the computer system""s identification data. If the computer system""s identification data satisfies the verification software""s identification criteria, the boot software is copied from the verification part to the execution part for execution.
One advantage of the present disclosure is that, by replacing any boot software that may be stored in the computer system, it provides the flexibility to produce new boot software when required by the introduction of a revised or new operating system. Another advantage is that the verification software""s criteria can be tailored to the needs of the hardware and software vendors over the product life of the computer system hardware without requiring changes to the identification data stored in the computer system.